   function Map() {
    	this.obj = {};
    }
    Map.prototype = {
    	constructor:Map,

    	put:function(key, value) {
    		this.obj[key] = value; 
    	},
    	remove:function(key) {
    		if (this.obj[key] || this.obj[key] === 0 || this.obj[key] === false) {
    			delete this.obj[key];
    		}
    		
    	},
    	size:function() {
    		var count = 0;
    		for (attr in this.obj) {
    			count++;
    		}
    		return count;
    	},
    	get:function(key) {
    		if (this.obj[key] || this.obj[key] === 0 || this.obj[key] === false) {
    			return this.obj[key];
    		}
    		else {
    			return null;
    		}
    		
    	},
    	eachMap:function(fn) {
    		for (attr in this.obj) {
    			fn(attr, this.obj[attr]);
    		}
    	}

    }